<html>
<head>
</head>
<body>



<h1>Introduction</h1>

The program is a graph editor developed for the mathematical
field of graph theory. The program is crated on request of Klas
Markstr&ouml;m at the mathematical department in Ume&aring; University
as a Bachelor thesis project.

<h2>Purpose</h2>


The main purpose of the graph editor is to make it easy to edit and
create graphs that are used to illustrate theories and ideas in the
mathematical field of graph theory. Many graph editors exist but just a
few are developed with graph theory in mind and of them almost
none are updated. Therefore there is a gap that this editor tries
to fill.
<h2>Main functions and features</h2>



  The program's main functionality is to <i>edit</i>, <i>save</i> and open <i>graphs</i>. This is described in the help section <i>editing graphs</i>.
Other features are for example, graph operations and automatic embedding
algorithms etc. The functions are summarized in the following list:
<ul>



  <li>Functions for copying and pasteing part of the graph</li>



  <li>Functions for unlimited undo and redo editing commands</li>



  
  <li>View functions for zooming in and out the view of the graph and to center the current graph</li>



  <li>Selection function to select parts of the graphs depending on the current selection (e.g. select neighbours)</li>



  <li>Graph operations and other graph manipulation functions</li>



  <li>Export functions to export the graph to other graph file formats:
  
    
    
    <ul>



  <li>Graphviz dot-file format</li>



  <li>GraphML</li>



  <li>Graph Modeling Language (GML)</li>



  <li>File format compatible with Mathematica Combinatorica software</li>



  <li>JPEG image file format</li>



  <li>PNG image file format</li>



  <li><i>Mathematica</i> compatible file format</li>



  <li>Neighbor lists</li>



  <li>EPS image file format</li>



  
    
    
    </ul>



  </li>



  <li>Import functions to import graphs from other file formats:
  
    
    
    <ul>



  <li>Random graph importer that creates a random graph from a number of vertices and a number of edges.</li>



  <li>Mathematica compatible graph file format</li>



  
    
    
    </ul>



  </li>



  
</ul>



  
  




  
<h1>Main window and toolbars</h1>

  
	
<p>
	<img src="toolbars.png" border="0" height="64" width="364"><br>


	<img src="mainwindow.png" border="0" height="289" width="487"><br>


  	</p>
<p>The main window has four head components that are marked in the figure above. They are described in the list below:</p>


<ul>


   <li>The <b>graph window</b> is the place where graphs are edited and displayed. How editing is performed is described in more detail in the section called <i>editing graphs</i>.</li>


   <li>The <b>menubar</b> contains a number of menus to choose operations from. They are described in more detail in the section called <i>Menus and their operations.</i></li>


   <li>The <b>toolbars</b> are used to fast access operations that are also in the menus. You can choose to hide the toolbars by using the <i>show toolbars</i> menu that is under the <span style="font-style: italic;">properties</span> menu. The descriptions below correspond to the toolbar with the same number in the picture of the toolbars above.
   
    
    <ol>


   <li>The file toolbar is used for some basic file operations. There
are buttons on it to create a new graph, save the current graph and to
open a graph from a file.</li>


   <li>The edit toolbar is used for some basic edit operations that
also exists under the edit menu. The edit commands in the toolbar are
for <span style="font-style: italic;">undo</span>, <span style="font-style: italic;">redo</span>, <span style="font-style: italic;">copy</span>, <span style="font-style: italic;">cut</span> and <span style="font-style: italic;">paste</span>.</li>


   <li>With the view toolbar you can zoom in/out and set the zoom-level to the default.</li>


 
    
    </ol>

  </li>


   <li>The <b>statusbar</b> is used to give varying information to the
user. As default the number of vertices and edges and selected vertices
and edges in the graph are displayed. The status bar is also used to
give hints to the user of how to interact with the program. In the
picture above the status bar contains a hint to the user during a graph
operation that requires several interaction steps.</li>


</ul>


  
  



<h1>Introduction to editing</h1>

<p>When the program starts it displays an empty graph in the <i>graph
window</i>. The <i>graph window</i> is the component
in the program window that is located in the center of the screen. The
computer mouse is used to edit the graph.</p>

<img src="editingwindow.png" border="0">
<h2>Editing modes</h2>

<p>There are two editing modes, one is called <i>insert
mode on</i> and another is <i>insert mode off</i>.
The current is indicated in the right corner
of the status bar at the bottom of the window. The <i>insert
mode on</i> is typically used to insert vertices and edges
into the graph. The <i>insert mode off</i> is
typically used to move vertices.&nbsp;</p>

<h2>Ways to switch editing mode</h2>

<p>The easiest to switch editing mode is to use the <i style="font-style: italic;">space</i><span style="font-style: italic;"> key</span>
on the keyboard. You can also <span style="font-style: italic;">click</span> on the <span style="font-style: italic;">edit</span> menu and
select <span style="font-style: italic;">insert mode</span>H or right click in the editing window to get a menu where it is possible to change editing mode. Holding down the <b>A</b><span style="font-style: italic;">-key</span> wil temporaily change and it will only stay as long as you hold down the key. The<b> A</b><span style="font-style: italic;">-</span><span style="font-style: italic;">key</span> is intended for
situation when you only want to do something fast in the other editing
mode and after that go back to the original</p>

<h2>Selection and related commands</h2>

<p>
      nMany of the commands that can be performed on the graph are dependent on which part of the graph is selected. To select one edge or vertex <span style="font-style: italic;">click</span> on the vertex or edge you want to select. To select all
vertices and edges in an area you can press the mouse button in one
corner of the area and move it to the opposite corner and then release it. Press the <span style="font-style: italic;">control</span> button on
the keyboard to keep the selection when you are selecting more edges or
vertices<span style="font-style: italic;">.</span>
</p>

<h2>Delete vertices and edges</h2>

<p>
To delete vertices or edges, first select the vertices and edges you
want to delete, then use the <span style="font-style: italic;">delete</span>
or <span style="font-style: italic;">backspace</span>
key on the keyboard<span style="font-style: italic;">.
</span>You can also delete by using the delete menu item in the
menu that comes up when you <span style="font-style: italic;">right click </span>in the <span style="font-style: italic;">graph window</span>.</p>





  
<h1>To edit in insert mode</h1>


  
<p>The intention of the insert mode is to make it easy and intuitive to put in vertices and edges in the graph.</p>


  
  
<p>The only action that is needed to put in a new vertex is to click
with the mouse on the position where you want the vertex. The position
where you click needs to be empty if it is not the object at the place
you <span style="font-style: italic;">click</span> will be selected and no new vertex will be created. To create
an edge between two vertices, press the mouse button in the middle of one of the
vertices and drag the mouse with the mouse button down, until the mouse
pointer is in the middle of the other vertex and then release the mouse
button.</p>


  
  
<p>To get a menu with commands click with the second mouse button in the
<span style="font-style: italic;">graph window</span>. The commands are different depending on the selection of vertices and
edges.</p>


  
  



<h1>Not insert mode</h1>


<p>The intention of<span style="font-style: italic;"> </span><i>not insert mode</i> (or <i>insert mode off</i>)
is to make it easy to move vertices and modify a currently existing
graph without adding new vertices and edges. It is also possible to add
vertices in this mode but it is much less intuitive than in the <i>insert mode</i>. To add vertices click with the right mouse button on an empty area and select <i>Insert vertex.</i></p>



<p>To move vertices in this mode it is just to press the mouse button
when the mouse pointer is in the middle of a vertex and drag the mouse
with the mouse button down until the mouse pointer is at the position where you want to place it.</p>



<p>To get a menu with commands click with the second mouse button in the
<span style="font-style: italic;">graph window</span>. The commands are different depending on the selection of vertices and
edges.</p>



<h2>Merge vertices</h2>


<p>It is possible to merge two vertices in the <span style="font-style: italic;">not insert mode</span>
so that the resulting
vertex is neighbour to all vertices that the vertices in the merging are
neighbours to. To merge two vertices press the mouse button in the
center of a vertex and drag the mouse so that the mouse pointer is at
the center of the
vertex you want to merge it. </p>










  
<h1>The file menu and its content</h1>




  
 
<p>
  <img src="file_menu.png" border="0" height="181" width="132"></p>

<p>

The file menu contains operations that has to do with files.
The operations in the menu are described in the list bellow.
The list is ordered in the same order as the menu items in the file
menu. </p>



<ol>




   <li>The <b>New</b> command opens a new window with an empty graph.</li>




   <li>The <b>Open...</b> command opens a file chooser dialog to open a file from.</li>




   <li>The <b>Open latest...</b> menu item has a sub menu which
contains a list of recently used files. The list is ordered with the
latest used file in the top of the list. If you click on one of them a
new window with the corresponding file will be opened.</li>




   <li>The <b>Save</b> command saves the graph if it is already
associated with a file. If it is not associated with a file a dialog box where it is possible to
select a file to save to will be displayed.</li>




   <li>The <b>Save as...</b> command will show a dialog box where it is possible to select a file to save the graph to.</li>




   <li>The <b>Export to...</b> menu item will show a menu with file
formats it is possible to export the graph to.&nbsp;For more
information see the section about <span style="font-style: italic;">export</span>.</li>




   <li>The <b>Import from...</b> shows a list of possible import alternatives. For more information see the section about <span style="font-style: italic;">import</span>.</li>




 
</ol>




 
 
<p></p>



 
  




<h1>The edit menu and its operations</h1>


<p> <img src="edit_menu.png"></p>
<p>

The edit menu contains operations that are used for the editing or
effect the editing in some way. The operations in the menu are described in the list
bellow. The list is in the same order as the menu items in the menu. </p>


<ol>


  <li>
The <b>undo</b> command makes the last operation undone. The number of undo commands that is possible to perform is unlimited.
  </li>


  <li>The <b>redo</b> command cancels the last undo command.
 </li>


  <li>The <b>cut</b> command first saves all
selected graph objects so they can be pasted with the paste command
later and then removes them.</li>


  <li>The <b>copy</b> command makes a copy of the
selected objects in the graph so they can be pasted with the paste
command</li>


  <li>The <b>paste</b> command paste the saved
object from the cut or copy commands in the graph window. It is possible to paste
parts of graphs that have been copied or cut from other graph windows.</li>


  <li>The <b>Insert mode</b> alternative can be set
to <span style="font-style: italic;">on</span> and <span style="font-style: italic;">off</span> below
and <span style="font-style: italic;">not insert mode</span> for more information.</li>


</ol>


<p></p>






  
<h1>The view menu and its content</h1>


    
<p>
  <img src="view_menu.png"></p>
<p>

       The view menu contains operations that change the view of the graph in some way.
    </p>


 
<p> The operations that are in the menu are described in the list
below. The list is ordered in the same way as the menu items. </p>

<ol>


   <li>The <b>Zoom in</b> command zoom the current graph. This
means that the size of everything is increased. If you want to
expand the graph so that the distance of the vertices increases but still
have the same size of the vertices and edges then look at the <i>expand selected by factor</i> command in the operations menu.</li>


   <li>The <b>Zoom out</b> command is the opposite of the <i>zoom in</i> command. It decreases the size of the graph.</li>


   <li>The <b>Default</b> command sets the zoom level to the default.</li>


   <li>The <b>Center</b> command centers the graph in the middle of the window. The center of the graph is the center of least
bounding rectangle that contains all vertices.</li>


 
</ol>


 
 
<p></p>

 

  
  





  
<h1>The selection menu and its content</h1>



      
<p>
  <img src="selection_menu.png"></p>
<p>

The selection menu contains operations that are used to select different
parts of the graph. All commands except the <i>select all</i> requires that at least one vertex is
selected. Therefore they are disabled when no vertex is selected. </p>



 
<p> The operations in the menu are described below. The list is ordered in the same order as the menu items in the
selection menu. </p>


<ol>



   <li>The <b>Select all</b> command selects all vertices in the graph.</li>



   <li>The <b>Select neighbour</b> command selects all neighbour vertices to the currently selected vertices.</li>



   <li>The <b>Select reachable</b> command selects all vertices that are reachable by only <i>walking</i> on the edges from the selected vertices.</li>



   <li>The <b>Select other</b> command unselects all selected vertices and selects all previously not selected vertices.</li>



 
</ol>



 
 
<p></p>


 
  
  





  
<h1>The operations menu and its content</h1>



  
<p>
  <img src="operations_menu.png"></p>
<p>


  This menu is also available under the menus that come up when you click with the right mouse button in the <i>graph window</i>.
The menu contain commands that perform some kind of operation on
the graph. Most operations change the graph, but there is also one command
that traverses the graph to take information from it, namely <i>Calculate graph statistics</i>.
The commands have been divided by lines in the menu into categories.
All menu items in the same category are similar to each other in some
way. That has been done to make it easier to
find a certain command. The description of the menu commands below is
also divided in the same way. The description marked with the number
one describes the first category from the top of the menu and so on. </p>



  
<p>
  </p>


<ol>



   <li>The first category contains operations or graph products that need two subgraphs. They are selected by the user in two steps: 
   
    
    
    <p>When a command has been started by a click on a menu item in the
category the statusbar in the bottom of the window displays a message.
The message tells the user to select the vertices that is in the first
subgraph and then press <i>enter</i>. When <i>enter</i> is pressed the user can
select the second subgraph in the same way. Because the operations need
two disjoint vertex sets it is not possible to select vertices in the
first set when the second is being selected. They are therefore marked
with a red cross. To cancel a started operation the user can press the
<i>escape</i> key.&nbsp; </p>



   
    
    
    <p>
   The operations in this category is:
 </p>


    
    
    <ul>



   <li>The <b>Complete bipartite graph</b> operation creates a
complete bipartite graph of two vertex sets. The operation does not
remove edges that are already there. A complete bipartite graph made up
by two vertex sets A with n vertices and B with m vertices is denoted by K<sub>m,n</sub>
and is a graph where every vertex in A is connected to all vertices in
B and every vertex in B is connected to all vertices in A.</li>



   <li>The <b>Graph Cartesian Product</b> operation creates a graph that is the <i>Graph Cartesian Product</i> of two graphs G<sub>1</sub> and G<sub>2</sub>. The resulting graph is placed to the left under the orginal graph in the <i>graph window</i>. For a definition of &nbsp;the <span style="font-style: italic;">Graph Cartesian Product</span> please see, <span style="font-style: italic;">http://mathworld.wolfram.com/GraphCartesianProduct.html</span>.</li>



   
   <li>The <b>Graph Categorical Product</b> operation creates a graph that is the <i>Graph Categorical Product</i> of two graphs G<sub>1</sub> and G<sub>2</sub>. The resulting graph is placed to the left under the orginal graph in the <i>graph window</i>.&nbsp;For a definition of &nbsp;the&nbsp;<i>Graph Categorical Product</i><span style="font-style: italic;"></span> please see, http://mathworld.wolfram.com/GraphCategoricalProduct.html.
   </li>



 
    
    
    </ul>



   
   
    
    
    <p></p>



   
   </li>



   <li> This category contains operations that only use one graph as
operand. The operand is the graph created by the selected vertex set.
The menu item in this category is only enabled if one or more vertices
is selected. At the moment there is only one operation in this
category. The <b>Make selected subgraph complete</b> operation makes
the subgraph created by the selected vertex set to a complete subgraph
by adding edges so every vertex is neighbour to every other vertex in
the vertex set.</li>



   <li> This category contains operations that modify the position of
selected vertices. The menu items is only enabled if any vertices are
selected. The operations in this category is listed below with an
explanation of what they do:
    
    
    <ul>



   <li>The <b>Place selected vertices in circle</b> operation
reorganize the selected vertices so they are placed in the edge of a
circle with the same distance between each vertex. The circle's
diameter is equal to the greatest of the width and the height of the
least bounding rectangle of the selected vertices. The circle's center is in
the center of the bounding box. </li>



   <li>The <b>Mirror selected vertices vertical</b> operation mirror
all selected vertices over the x-axis through the center of the
least bounding rectangle of all selected vertices. To mirror a
vertex over a vertical axis is to change its horizontal position so
it is on equal distance from the axis but on the opposite side.</li>



   <li>The <b>Mirror selected vertices horizontal</b> does the same thing as <i>Mirror selected vertices vertical</i> does but over the horizontal axis instead of the vertical.</li>



   <li>The <b>Rotate selected vertices</b> operation brings up a
rotation dialog where it is possible to select a rotation angle for
the selected vertices. When the angle is changed in the dialog the
graph is instantly updated. To keep the new angle press the <i>ok</i> button and use the <i>cancel</i>
button to cancel the changes. The vertices is rotated around the center
of the least bounding rectangle for the selected vertices.</li>



   <li>The <b>Expand selected by factor...</b> command brings up a dialog. In the dialog it is possible to select a decimal expand factor. There are two buttons. A <i>cancel button</i> that closes the dialog and an <i>expand button</i>
that expand or shrink the selected vertices by the expand factor. The
name of the command is misleading in the way that it can not only be
used to expand but also to shrink. When the <i>expand button</i> is pressed the vertical and horizontal distances between vertices is multiplied with the expand factor.</li>



   <li>The <b>Modify selected vertices</b> menu item brings up a submenu where it is possible to change the color and the shape of selected vertices.</li>



 
    
    
    </ul>



   </li>



   <li>This category contains edge operations. Items in this
category is only enabled when one or more edges are selected. The <b>Split selected edges...</b> command brings up a dialog where you can select a number of vertices to input for each selected edge. When the <i>ok button</i>
is pressed every selected edge is removed and then the number of
vertices that have been chosen is inserted between all the vertices
that previously where neighbours. New edges are also created between the
newly inserted vertices and the vertices that was previously neighbours
so a path with the length (<span style="font-style: italic;">number of inserted vertices + 1</span>) are created between all vertices that previously were neighbours.
   </li>



   <li>The <b>Apply graph layout algorithm...</b> command brings up a
dialog where you can select a number of graph layout algorithms that
you can execute on the graph. You can select to execute most of the
algorithms on selected vertices or all vertices.</li>



   <li>The <b>Calculate graph statistics</b> command first traverses
the graph to catch some information from it and then displays a dialog
with information about the current graph.</li>



 
</ol>



  
<p></p>



  
  <!--<i>Definition of Graph Cartesian Product:</i> The Cartesian graph product G=G<sub>1</sub><IMG src="square.png" width="12" height="13" border="0">G<sub>2</sub> of graphs G<sub>1</sub> and G<sub>2</sub> with disjoint point sets V<sub>1</sub> and V<sub>2</sub> and edge sets X<sub>1</sub> and X<sub>2</sub> is the graph with point set V<sub>1</sub><IMG src="cross.png" width="12" height="13" border="0">V<sub>2</sub> and u=(u<sub>1</sub>, u<sub>2</sub>) adjacent with v=(v<sub>1</sub>, v<sub>2</sub>) whenever [u<sub>1</sub>=v<sub>1</sub> and u<sub>2</sub> adj v<sub>2</sub>] or [u<sub>2</sub>=v<sub>2</sub> and u<sub>1</sub> adj v<sub>1</sub>] (Harary, F. Graph Theory. Reading, MA: Addison-Wesley, 1994, p. 22).-->




  
<h1>The properties menu and its content</h1>


  
<p>
  <img src="properties_menu.png"></p>
<p>

  	The properties menu contains menu items used to change the properties of the program and the graph. The <b>Show quickmenus</b>
alternative shows a submenu where it is possible to select which
quickmenus that are displayed. </p>


  
<p>		 
	 The dialogs that comes up when <b>Graph properties...</b> and the <b>Properties...</b> alternatives have been chosen, are described in the two next sections.
	</p>

 
	 
<h2>The graph properties dialog</h2>


	 
<p>
	 This dialog comes up when you select the <b>Graph properties...</b>
alternative. In this dialog it is possible to select settings that is
directly related to the graph. The settings is saved to the graph file
when you save a graph and loaded when you open a graph from a file. </p>


	 
<p> The dialog is divided in two parts. One is the list that is to the
left. The list contains a number of names of settings modules. To the
right, the currently selected settings module is displayed. To switch between
settings module click on the name of the settings module that you want to
change. To save all changed settings that have been done in the
different settings modules click on the <span style="font-style: italic;">ok</span> button in the bottom right corner. If you don't want to save the changes click on the <span style="font-style: italic;">cancel</span> button. The different settings modules are described in the sections below.
	 </p>


	 
<h3>Background properties</h3>



  	
<p><img src="graph_properties_background.png"></p>
<p>

		Here the background color of the graph is selected.
	</p>


  
	 
<h3>Default vertex shape</h3>



  	
<p><img src="graph_properties_default_vertex_shape.png"></p>
<p>
In this module you can select the default vertex shape. The default
vertex shape is the shape of the vertex that is inserted when you insert vertices. The shape that you select in the drop down menu in the top of the module is displayed under it.
		</p>


		
<p>
		There exists one shape called <i>DEFAULT</i> that is different from the others. The <i>DEFAULT</i> shape can be any of the other shape. Therefore when you select the <i>DEFAULT</i> shape it is also possible to select which shape that shall be set as the <i>DEFAULT</i> at the moment. If you have inserted vertices with the <i>DEFAULT</i> shape it is possible to change them afterward by changing the actual shape of the <i>DEFAULT</i> shape.
		</p>


		
	
<h3>Default vertex color</h3>


	  
<p><img src="graph_properties_default_vertex_color.png"></p>
<p>
Here it is possible to select the default vertex color. That is the
color of the vertices created with insert commands like clicking in the <i>graph window</i> when insert mode is on. The module is divided into two parts.  
	  </p>


	  
<p> In the upper part you can select the background color of vertices.
That is the color inside the selected shape that has borders with the
foreground color. One option is to use the graph background color of
the graph as the background color for vertices. If you unselect that
option it is possible to choose a background color by clicking on the <i>Select new default color...</i> button.
	  </p>


	  
<p> You can select the default vertex foreground color in the lower
part. The foreground color is the border of the shape that the vertex
is made up by. </p>


  	
<h2>The global properties dialog</h2>


	
<p> The global properties is the program properties that is used for
all opened programs. The global properties is saved in the file<i> .grapheditor/properties.xml</i> that is placed in the user home directory. The user home directory is the directory given by the <i>java system</i> as the home directory. The dialog's structure is the same as in the <i>graph properties dialog</i>. The different settings modules in it are described in the sections below.
	</p>


	
	  
<h3>Graph drawing</h3>


	  
<p>
	  <img src="global_properties_graph_drawing.png"></p>
<p>

		Here you can change some drawing alternatives for the graph. 
</p>

<ul>


   <li> If the <b>Antialias</b> alternative is selected the graph will
be drawn with antialiasing. That means that lines and shapes get smoother edges. Turn this off if the program runs slowly</li>


   <li>If the <b>Double buffering</b> alternative is selected the graph will be drawn with the <i>double buffering</i>
technique which means that the images is first drawn to an off screen
buffer and then to the on screen buffer. This will remove flicker
effects but can possible make the program consume more processor cycles
and memory. </li>

</ul>


		
	
<p></p>


	
	  
<h3>Look and feel</h3>


	
<p>
	<img src="global_properties_look_and_feel.png"></p>
<p>

	In this module you can select the <i>look and feel</i> for the program. A <i>look and feel</i> is a collection of settings that decide how the user interface will look and behave. Which <i>look and feel</i>s that is available depend on the java version the program is running on.
	</p>


		
  




  
  
<h1>Export</h1>

The file menu contains a submenu with a number of different file
formats that it is possible to export the graph to. The submenu is under the menu
item called <i>Export to...</i>. Bellow are the different file formats described with referenses to webpages where it is possible to find more information.
  
  
<h2>Graphviz dot-file format</h2>


  
<p> This format can be used with the Graphviz tools produced in the
Graphviz project. The Graphviz tools can create images of graphs from
simple graph descriptions. The generated file is a description of a
undirected graph created from the current graph. See the Graphviz
documentation for information of how to change the files and configure
the output. Bellow is an example of a command that produces a
PNG-image file with a graph drawn from the description in the test.dot
file:<br>


  <i>neato test.dot -Tpng &gt; test.png</i>
  </p>


  <i>http://www.graphviz.org</i>
  
<h2>GraphML</h2>


  
<p> GraphML is an XML based file format for describing all types of
graph structures. Among other things it has support for both undirected and directed graphs. The generated file is a description of an undirected graph. </p>


  <i>http://graphml.graphdrawing.org</i>
  
<h2>Graph Modeling Language (GML)</h2>


    
<p> GML was created to make a universal graph file format that could be
used in all types of graph programs. It is possible to attach all kind
of data to the graph objects. </p>


  <i>http://www.infosun.fim.uni-passau.de/Graphlet/GML</i>
  
  
<h2>File format compatible with Mathematica Combinatorica software</h2>


   
<p> This file format is a simple neighbour list with position
information for vertices. It can be opened with the Mathematica
software. </p>


  
  
<p> Each row in the file format represents a vertex. The first number
on each line is a vertex identification. The two floating point number
next on the line is the horizontal and vertical coordinates of the
vertex. The numbers coming after that is the identifications of the
vertices that are neighbours to the vertex. </p>


  <i>http://www.wolfram.com</i>
    
<h2>Neighbour&nbsp;list</h2>


   
<p>
   The files exported by this exporter are exactly the same as files that are exported by the <i>Mathematica</i> exporter except that they do not contain vertex position information.
  </p>



  
  
<h2>JPEG image file format</h2>


  
<p>
  When you export to a JPEG (Joint Photographic Experts Group) image the graph is exported exactly as it looks like in the <i>graph window</i>
except that the selection is cleared. This means that if you zoom in
the graph the exported image will be bigger. The image exported is the
same size as the least bounding rectangle of all vertices plus an empty
border with 5 pixels. </p>


  <i>http://www.jpeg.org</i>
  
<h2>PNG image file format</h2>


	
<p>The PNG (Portable Network Graphics) export export is similar to the JPEG export
but produces a PNG image.</p>


	    <i>http://www.w3.org/Graphics/PNG</i>
  
<h2>EPS image file format</h2>


    
<p> The EPS (Encapsulated PostScript) image files produced by this exporter uses vector graphics
which makes the images scalable. It is a very popular file format for
images included in e.g. scientific reports. </p>


http://www.prepressure.com/formats/eps/fileformat.htm
  




  
  
<h1>Import</h1>


  The file menu contains a submenu with different import alternatives. The submenu is under the menu item called <i>Import from...</i>. Bellow are the different import alternatives described.
  
  
<h2>Random graph importer</h2>

The random importer imports a graph with a random structure. A dialog
is displayed when you choose this option. In the dialog, it is possible
to select a number of vertices and a number of edges. The edges is
randomly connected from one vertex to another until all edges has been
connected somewhere. The vertices are placed in the circumference of a
circle. It is also possible to change the distance between vertices in
the dialog.
<h2>Mathematica compatible graph file format</h2>

The Mathematica compatible file format importer imports graphs from a
graph file format that can be exported from&nbsp;Mathematica. This
format is a simple neighbor list with vertex position information. See
the information about <i>Mathematica compatible graph file format</i> under the section about exporters for more information.
  




  
  
<h1>Used libraries</h1>


  
<p> The program uses a lot of third part libraries. In the table below
they are listed with information about which license they uses and
where you can find more information. The program also uses java
standard class library but it is not listed below.</p>


  
  
<p>

  
<table>


  <tbody>


    <tr>


      <th>Name</th>


      <th>License</th>


      <th>Website</th>


    </tr>


    <tr>


      <td>JGraph</td>


      <td>LGPL</td>


      <td>http://www.jgraph.com</td>


    </tr>


    <tr>


      <td>JGraphT</td>


      <td>LGPL</td>


      <td>http://www.jgrapht.org</td>


    </tr>


    <tr>


      <td>JGraphpad CE</td>


      <td>GPL</td>


      <td>http://sourceforge.net/projects/jgraph</td>


    </tr>


    <tr>


      <td>XStream</td>


      <td>Modified BSD license</td>


      <td>http://xstream.codehaus.org</td>


    </tr>


    <tr>


      <td>EPS Graphics Library</td>


      <td>GPL</td>


      <td>http://www.abeel.be/epsgraphics</td>


    </tr>


    <tr>


      <td>JavaHelp System</td>


      <td>GPL with the class path exception</td>


      <td>http://javahelp.dev.java.net</td>


    </tr>


    <tr>


      <td>BrowserLauncher2</td>


      <td>LGPL</td>


      <td>http://browserlaunch2.sourceforge.net</td>


    </tr>
<br>


  
  
  </tbody>
</table>


  </p>
  <p>
The icons used in the program is created by David Vignoni. They are licensed under the LGPL license and can be downloaded from <i>http://icon-king.com</i>
</p>
  
  

</body>
</html>
